#Makefile for SPRtools
#Block 1e release
#x86 Linux version
PROCESSOR = LINUX_X86

CC = gcc
LD = gcc
AR = ar
RANLIB = ranlib
CCFLAGS = -c -D$(PROCESSOR) -O2
LDFLAGS = -o
ARFLAGS = clq

BIN = ../bin

all:	$(BIN)/spr_fsi     \
	$(BIN)/spr_pal     \
	$(BIN)/spr_diff    \
	$(BIN)/spr4spr     \
	$(BIN)/spr3spr     \
	$(BIN)/spr2xbm     \
	$(BIN)/spr2bmp     \
	$(BIN)/spr2clr     \
	$(BIN)/spr2ras     \
	$(BIN)/spr2sb      \
	$(BIN)/spr2tga	   \
	$(BIN)/spr2xwd     \
	$(BIN)/bmp2spr     \
	$(BIN)/ras2spr     \
	$(BIN)/clr2spr     \
	$(BIN)/sb2spr      \
	$(BIN)/tga2spr     \
	$(BIN)/xwd2spr     \
	$(BIN)/clr_info    \
	$(BIN)/bmp_info    \
	$(BIN)/sb_info     \
	$(BIN)/ras_info    \
	$(BIN)/tga_info    \
	$(BIN)/xwd_info    \
	$(BIN)/spr_info    \
	$(BIN)/chmode

.SUFFIXES: .o .c

.c.o:;  $(CC) $(CCFLAGS) $<

conv_lib.a: io.o sprite.o colours.o process.o palette.o
	$(AR) $(ARFLAGS) conv_lib.a io.o sprite.o colours.o process.o palette.o
	$(RANLIB) conv_lib.a


$(BIN)/spr_fsi:  spr_fsi.o conv_lib.a
	$(LD) $(LDFLAGS) $(BIN)/spr_fsi spr_fsi.o conv_lib.a -lm

$(BIN)/spr_pal:  spr_pal.o conv_lib.a
	$(LD) $(LDFLAGS) $(BIN)/spr_pal spr_pal.o conv_lib.a -lm

$(BIN)/spr_diff:  spr_diff.o conv_lib.a
	$(LD) $(LDFLAGS) $(BIN)/spr_diff spr_diff.o conv_lib.a -lm

$(BIN)/spr4spr:  spr4spr.o conv_lib.a
	$(LD) $(LDFLAGS) $(BIN)/spr4spr spr4spr.o conv_lib.a

$(BIN)/spr3spr:  spr3spr.o conv_lib.a
	$(LD) $(LDFLAGS) $(BIN)/spr3spr spr3spr.o conv_lib.a

$(BIN)/spr2xbm:  spr2xbm.o conv_lib.a
	$(LD) $(LDFLAGS) $(BIN)/spr2xbm spr2xbm.o conv_lib.a

$(BIN)/spr2bmp:  spr2bmp.o conv_lib.a
	$(LD) $(LDFLAGS) $(BIN)/spr2bmp spr2bmp.o conv_lib.a

$(BIN)/spr2ras:  spr2ras.o conv_lib.a
	$(LD) $(LDFLAGS) $(BIN)/spr2ras spr2ras.o conv_lib.a

$(BIN)/spr2sb:  spr2sb.o conv_lib.a
	$(LD) $(LDFLAGS) $(BIN)/spr2sb spr2sb.o conv_lib.a

$(BIN)/spr2tga:  spr2tga.o conv_lib.a
	$(LD) $(LDFLAGS) $(BIN)/spr2tga spr2tga.o conv_lib.a

$(BIN)/spr2xwd:  spr2xwd.o conv_lib.a
	$(LD) $(LDFLAGS) $(BIN)/spr2xwd spr2xwd.o conv_lib.a

$(BIN)/spr2clr:  spr2clr.o conv_lib.a
	$(LD) $(LDFLAGS) $(BIN)/spr2clr spr2clr.o conv_lib.a

$(BIN)/bmp2spr:  bmp2spr.o conv_lib.a
	$(LD) $(LDFLAGS) $(BIN)/bmp2spr bmp2spr.o conv_lib.a

$(BIN)/ras2spr:  ras2spr.o conv_lib.a
	$(LD) $(LDFLAGS) $(BIN)/ras2spr ras2spr.o conv_lib.a

$(BIN)/sb2spr:  sb2spr.o conv_lib.a
	$(LD) $(LDFLAGS) $(BIN)/sb2spr sb2spr.o conv_lib.a

$(BIN)/tga2spr:  tga2spr.o conv_lib.a
	$(LD) $(LDFLAGS) $(BIN)/tga2spr tga2spr.o conv_lib.a

$(BIN)/xwd2spr:  xwd2spr.o conv_lib.a
	$(LD) $(LDFLAGS) $(BIN)/xwd2spr xwd2spr.o conv_lib.a

$(BIN)/clr2spr:  clr2spr.o conv_lib.a
	$(LD) $(LDFLAGS) $(BIN)/clr2spr clr2spr.o conv_lib.a

$(BIN)/sb_info:  sb_info.o conv_lib.a
	$(LD) $(LDFLAGS) $(BIN)/sb_info sb_info.o conv_lib.a

$(BIN)/bmp_info:  bmp_info.o conv_lib.a
	$(LD) $(LDFLAGS) $(BIN)/bmp_info bmp_info.o conv_lib.a

$(BIN)/ras_info:  ras_info.o conv_lib.a
	$(LD) $(LDFLAGS) $(BIN)/ras_info ras_info.o conv_lib.a

$(BIN)/xwd_info:  xwd_info.o conv_lib.a
	$(LD) $(LDFLAGS) $(BIN)/xwd_info xwd_info.o conv_lib.a

$(BIN)/tga_info:  tga_info.o conv_lib.a
	$(LD) $(LDFLAGS) $(BIN)/tga_info tga_info.o conv_lib.a

$(BIN)/clr_info:  clr_info.o conv_lib.a
	$(LD) $(LDFLAGS) $(BIN)/clr_info clr_info.o conv_lib.a

$(BIN)/spr_info:  spr_info.o conv_lib.a
	$(LD) $(LDFLAGS) $(BIN)/spr_info spr_info.o conv_lib.a

$(BIN)/chmode:  chmode.o conv_lib.a
	$(LD) $(LDFLAGS) $(BIN)/chmode chmode.o conv_lib.a


#dynamic dependancies
bmp2spr.o: io.h
bmp2spr.o: bmp.h
bmp2spr.o: sprite.h
bmp_info.o: io.h
bmp_info.o: bmp.h
colours.o: io.h
colours.o: sprite.h
colours.o: colours.h
chmode.o: io.h
chmode.o: sprite.h
clr2spr.o: io.h
clr2spr.o: sprite.h
clr2spr.o: clear.h
clr_info.o: io.h
clr_info.o: clear.h
io.o: io.h
palette.o: io.h
palette.o: sprite.h
palette.o: process.h
palette.o: palette.h
palette0.o: io.h
palette0.o: sprite.h
palette0.o: process.h
palette0.o: palette.h
process.o: sprite.h
process.o: colours.h
process.o: colours.h
process.o: process.h
ras2spr.o: io.h
ras2spr.o: ras.h
ras2spr.o: sprite.h
ras_info.o: io.h
ras_info.o: ras.h
sb2spr.o: io.h
sb2spr.o: sprite.h
sb2spr.o: sb.h
sb_info.o: io.h
sb_info.o: sb.h
spr2xbm.o: io.h
spr2xbm.o: sprite.h
spr2bmp.o: io.h
spr2bmp.o: bmp.h
spr2bmp.o: sprite.h
spr2clr.o: io.h
spr2clr.o: sprite.h
spr2clr.o: clear.h
spr2ras.o: io.h
spr2ras.o: sprite.h
spr2ras.o: ras.h
spr2sb.o: io.h
spr2sb.o: sprite.h
spr2sb.o: sb.h
spr2tga.o: io.h
spr2tga.o: sprite.h
spr2tga.o: tga.h
spr2xwd.o: io.h
spr2xwd.o: sprite.h
spr2xwd.o: xwd.h
spr4spr.o: io.h
spr4spr.o: sprite.h
spr3spr.o: io.h
spr3spr.o: sprite.h
spr_diff.o: io.h
spr_diff.o: sprite.h
spr_fsi.o: io.h
spr_fsi.o: sprite.h
spr_fsi.o: process.h
spr_fsi.o: palette.h
spr_info.o: io.h
spr_info.o: sprite.h
spr_info.o: palette.h
spr_pal.o: io.h
spr_pal.o: sprite.h
spr_pal.o: process.h
spr_pal.o: palette.h
sprite.o: io.h
sprite.o: sprite.h
tga2spr.o: io.h
tga2spr.o: sprite.h
tga2spr.o: tga.h
tga_info.o: io.h
tga_info.o: tga.h
xwd2spr.o: io.h
xwd2spr.o: sprite.h
xwd2spr.o: xwd.h
xwd_info.o: io.h
xwd_info.o: xwd.h
